Business software is generally any software that helps an enterprise to manage its business. The business software may be categorized as individual business software (that caters to a specific need of a specific enterprise) and standard business software (that caters to the specific need of several enterprises). For example, a CRM (Customer Relationship Management) software is the standard business software that caters to the customer relationship management of several enterprises. The enterprise may deal in various industries and may have various branches all over the globe. The standard business software may be configured based upon the type of industries (i.e., verticalisation) and/or countries (i.e., globalization) where the business software has to be implemented. For example, if the enterprise ‘A’ deals in telecommunication, transport, and medicine industries and has branches all over the globe, the enterprise ‘A’ can configure the standard business software (e.g., CRM) to cater to the need of its various industries and branches.
The standard business software is generally configured by a software developer or a software consultant of the enterprise. Essentially, the software consultant is provided training to configure (customize) and/or maintain the standard business software based upon the requirement of the enterprise. However, the training provided to the software consultant is very costly and time consuming. Further, the enterprise may be interested in the specific domain of the standard business software (e.g., Activity and Opportunity Process within CRM) however, the software consultant has to undergo training in all aspects of the CRM which is again time-consuming.
A software solution package (e.g., Rapid Deployment Solution by SAP®) is developed to address the above mentioned problems. Essentially, the software solution package includes the standard business software along with a training material (modeling charts/maps, etc.). The training material can be easily referred to by the software consultants. The training material helps in installing the standard business software in the enterprise. Essentially, the software solution package helps the software consultant in installing and configuring the standard business software without undergoing the time consuming and costly training. Further, the software solution package may include specific standard business software with a well defined scope of business functionality which helps the consultant to implement the solution package in the domain of interest, e.g., a payroll within HR (Human Resources).
The software solution package also includes a configuration list that defines a business scenario (business circumstances), one or more business processes associated with the business scenario, and one or more process steps associated with each business processes. Essentially, the configuration list specifies each process step and the business software that is to be executed for realizing the process step. Usually, the software consultant manually configures the configuration list to specify the software(s) to be executed for one or more process steps.
However, it might be inconvenient and time consuming for the software consultant to manually configure or prepare the configuration list. Further, the software to be used for a given process step may vary depending on number of characteristics, e.g., a country and/or industry in which the process step has to be implemented. For example, the process step “paying taxes” differs across countries while the process steps related to “logistics” differs across industries. Furthermore, it might be troublesome for the software consultant to manually configure or prepare the list with all possible characteristic variations. Again, it might be inconvenient for the software consultant to repeat configuration of the process steps for various industries/countries. Additionally, it might also be difficult and time consuming to define rule(s) and exception(s) that govern each process step. Finally, it may also be inefficient and inconvenient for the software consultant and a software provider to have individual solution packages for every combination of industry and country with only small deviations inside the solution packages.
It would be desirable, therefore, to efficiently manage characteristics variation within software solution packages that among other things obviates the above mentioned problems.